<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libcoap: resource.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">libcoap<span id="projectnumber">&#160;4.2.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('resource_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div class="header">
  <div class="headertitle"><div class="title">resource.h</div></div>
</div><!--header-->
<div class="contents">
<a href="resource_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="comment"> * resource.h -- generic resource handling</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span><span class="comment"> *</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="comment"> * Copyright (C) 2010,2011,2014,2015 Olaf Bergmann &lt;bergmann@tzi.org&gt;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="comment"> *</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span><span class="comment"> * This file is part of the CoAP library libcoap. Please see README for terms</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="comment"> * of use.</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="comment"> */</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="preprocessor">#ifndef COAP_RESOURCE_H_</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="preprocessor">#define COAP_RESOURCE_H_</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span> </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="preprocessor"># include &lt;assert.h&gt;</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#ifndef COAP_RESOURCE_CHECK_TIME</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"><a class="line" href="resource_8h.html#a8d07061a1bb4a55b64c517b5a0a02914">   22</a></span><span class="preprocessor">#define COAP_RESOURCE_CHECK_TIME 2</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#endif </span><span class="comment">/* COAP_RESOURCE_CHECK_TIME */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#include &quot;<a class="code" href="uthash_8h.html">uthash.h</a>&quot;</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &quot;<a class="code" href="async_8h.html">async.h</a>&quot;</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#include &quot;<a class="code" href="str_8h.html">str.h</a>&quot;</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &quot;<a class="code" href="pdu_8h.html">pdu.h</a>&quot;</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#include &quot;<a class="code" href="net_8h.html">net.h</a>&quot;</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#include &quot;<a class="code" href="subscribe_8h.html">subscribe.h</a>&quot;</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="resource_8h.html#a0e546da5428d06e7bd64308f3e0434af">   35</a></span><span class="keyword">typedef</span> void (*<a class="code hl_typedef" href="resource_8h.html#a0e546da5428d06e7bd64308f3e0434af">coap_method_handler_t</a>)</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>  (<a class="code hl_struct" href="structcoap__context__t.html">coap_context_t</a>  *,</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span>   <span class="keyword">struct </span><a class="code hl_struct" href="structcoap__resource__t.html">coap_resource_t</a> *,</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>   <a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *,</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span>   <a class="code hl_struct" href="structcoap__pdu__t.html">coap_pdu_t</a> *,</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span>   <a class="code hl_struct" href="structcoap__binary__t.html">coap_binary_t</a> * <span class="comment">/* token */</span>,</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span>   <a class="code hl_struct" href="structcoap__string__t.html">coap_string_t</a> * <span class="comment">/* query string */</span>,</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span>   <a class="code hl_struct" href="structcoap__pdu__t.html">coap_pdu_t</a> * <span class="comment">/* response */</span>);</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span> </div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="resource_8h.html#a2892686485c67ab0b946708ad59bcf51">   44</a></span><span class="preprocessor">#define COAP_ATTR_FLAGS_RELEASE_NAME  0x1</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="resource_8h.html#a1dfff2e71cc242377e92e0b322ddd1ea">   45</a></span><span class="preprocessor">#define COAP_ATTR_FLAGS_RELEASE_VALUE 0x2</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span> </div>
<div class="foldopen" id="foldopen00047" data-start="{" data-end="};">
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="structcoap__attr__t.html">   47</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="structcoap__attr__t.html">coap_attr_t</a> {</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="structcoap__attr__t.html#a3fc77f201bd40341e3b9a9b66917ee9f">   48</a></span>  <span class="keyword">struct </span><a class="code hl_struct" href="structcoap__attr__t.html">coap_attr_t</a> *<a class="code hl_variable" href="structcoap__attr__t.html#a3fc77f201bd40341e3b9a9b66917ee9f">next</a>;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="structcoap__attr__t.html#a4a54128b31912aeb6643d775f2e64a93">   49</a></span>  <a class="code hl_struct" href="structcoap__str__const__t.html">coap_str_const_t</a> *<a class="code hl_variable" href="structcoap__attr__t.html#a4a54128b31912aeb6643d775f2e64a93">name</a>;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="structcoap__attr__t.html#a0b0e7059fe12ccaa3b338862c6ae7b08">   50</a></span>  <a class="code hl_struct" href="structcoap__str__const__t.html">coap_str_const_t</a> *<a class="code hl_variable" href="structcoap__attr__t.html#a0b0e7059fe12ccaa3b338862c6ae7b08">value</a>;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="structcoap__attr__t.html#ae169f2ea32a124079529bfe934d7e0ec">   51</a></span>  <span class="keywordtype">int</span> <a class="code hl_variable" href="structcoap__attr__t.html#ae169f2ea32a124079529bfe934d7e0ec">flags</a>;</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="resource_8h.html#a82fb5abc4a6f18544f5942a0ec5e69cf">   52</a></span>} <a class="code hl_struct" href="structcoap__attr__t.html">coap_attr_t</a>;</div>
</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span> </div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="resource_8h.html#aee71da70d15897c276b0c4166ad1eaa6">   55</a></span><span class="preprocessor">#define COAP_RESOURCE_FLAGS_RELEASE_URI 0x1</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span> </div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"><a class="line" href="resource_8h.html#a0e981058b430c857caaa44a6bd742cf3">   61</a></span><span class="preprocessor">#define COAP_RESOURCE_FLAGS_NOTIFY_NON  0x0</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span> </div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="resource_8h.html#a70fae1b37775ebbf9984d9873b15c781">   67</a></span><span class="preprocessor">#define COAP_RESOURCE_FLAGS_NOTIFY_CON  0x2</span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span> </div>
<div class="foldopen" id="foldopen00069" data-start="{" data-end="};">
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="structcoap__resource__t.html">   69</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="structcoap__resource__t.html">coap_resource_t</a> {</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="structcoap__resource__t.html#a09b8f3b601ad2e2e48f8ebb47a2f3bef">   70</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structcoap__resource__t.html#a09b8f3b601ad2e2e48f8ebb47a2f3bef">dirty</a>:1;          </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="structcoap__resource__t.html#a1574825943641eaf8fd4229bcbb818c8">   71</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structcoap__resource__t.html#a1574825943641eaf8fd4229bcbb818c8">partiallydirty</a>:1; </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="structcoap__resource__t.html#ac398cbf0112b945e22176dbbf9790a87">   73</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structcoap__resource__t.html#ac398cbf0112b945e22176dbbf9790a87">observable</a>:1;     </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="structcoap__resource__t.html#a608274b876671be27e2bd099fa112f75">   74</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structcoap__resource__t.html#a608274b876671be27e2bd099fa112f75">cacheable</a>:1;      </div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="structcoap__resource__t.html#a7b659252268ebdab8636e98fd5951f01">   75</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structcoap__resource__t.html#a7b659252268ebdab8636e98fd5951f01">is_unknown</a>:1;     </div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="structcoap__resource__t.html#a64e782257dd1931d6082bff001ecf9c9">   84</a></span>  <a class="code hl_typedef" href="resource_8h.html#a0e546da5428d06e7bd64308f3e0434af">coap_method_handler_t</a> <a class="code hl_variable" href="structcoap__resource__t.html#a64e782257dd1931d6082bff001ecf9c9">handler</a>[7];</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span> </div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="structcoap__resource__t.html#af63bf8fad6bf44a77599a57456bd919c">   86</a></span>  <a class="code hl_struct" href="structUT__hash__handle.html">UT_hash_handle</a> <a class="code hl_variable" href="structcoap__resource__t.html#af63bf8fad6bf44a77599a57456bd919c">hh</a>;</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span> </div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"><a class="line" href="structcoap__resource__t.html#a9359a93af7804828408cd7638bb2325a">   88</a></span>  <a class="code hl_struct" href="structcoap__attr__t.html">coap_attr_t</a> *<a class="code hl_variable" href="structcoap__resource__t.html#a9359a93af7804828408cd7638bb2325a">link_attr</a>; </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="structcoap__resource__t.html#a27b7326f8557329979a15efc994afc6c">   89</a></span>  <a class="code hl_struct" href="structcoap__subscription__t.html">coap_subscription_t</a> *<a class="code hl_variable" href="structcoap__resource__t.html#a27b7326f8557329979a15efc994afc6c">subscribers</a>;  </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="structcoap__resource__t.html#a38e9f66631ebf849e1742867273e8b1a">   96</a></span>  <a class="code hl_struct" href="structcoap__str__const__t.html">coap_str_const_t</a> *<a class="code hl_variable" href="structcoap__resource__t.html#a38e9f66631ebf849e1742867273e8b1a">uri_path</a>;  </div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="structcoap__resource__t.html#aea7b315210c6674d4079fa2e0e45ebec">   97</a></span>  <span class="keywordtype">int</span> <a class="code hl_variable" href="structcoap__resource__t.html#aea7b315210c6674d4079fa2e0e45ebec">flags</a>;</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span> </div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="structcoap__resource__t.html#a427dd41384d9f8560dce69b220a8fecc">  103</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structcoap__resource__t.html#a427dd41384d9f8560dce69b220a8fecc">observe</a>;</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span> </div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"><a class="line" href="structcoap__resource__t.html#a30146d47704b351b623c29360b205319">  109</a></span>  <span class="keywordtype">void</span> *<a class="code hl_variable" href="structcoap__resource__t.html#a30146d47704b351b623c29360b205319">user_data</a>;</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span> </div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="resource_8h.html#add40a165542aff0ed5c680e2483e739f">  111</a></span>} <a class="code hl_struct" href="structcoap__resource__t.html">coap_resource_t</a>;</div>
</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span> </div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span><a class="code hl_struct" href="structcoap__resource__t.html">coap_resource_t</a> *<a class="code hl_function" href="resource_8h.html#a9edd43fc111e854367ef646a21bd93b1">coap_resource_init</a>(<a class="code hl_struct" href="structcoap__str__const__t.html">coap_str_const_t</a> *uri_path,</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno">  145</span>                                    <span class="keywordtype">int</span> flags);</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span> </div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span> </div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno">  174</span><a class="code hl_struct" href="structcoap__resource__t.html">coap_resource_t</a> *<a class="code hl_function" href="resource_8h.html#af892e2c08f144561327b11b65396d5cc">coap_resource_unknown_init</a>(<a class="code hl_typedef" href="resource_8h.html#a0e546da5428d06e7bd64308f3e0434af">coap_method_handler_t</a> put_handler);</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span> </div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno">  184</span><a class="code hl_define" href="libcoap_8h.html#a58b4446dccd0b8c21b3532ef6b77a57d">COAP_STATIC_INLINE</a> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00185" data-start="{" data-end="}">
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"><a class="line" href="resource_8h.html#a2a73353dbd2bea291376334f3be3391e">  185</a></span><a class="code hl_function" href="resource_8h.html#a2a73353dbd2bea291376334f3be3391e">coap_resource_set_mode</a>(<a class="code hl_struct" href="structcoap__resource__t.html">coap_resource_t</a> *resource, <span class="keywordtype">int</span> mode) {</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno">  186</span>  resource-&gt;<a class="code hl_variable" href="structcoap__resource__t.html#aea7b315210c6674d4079fa2e0e45ebec">flags</a> = (resource-&gt;<a class="code hl_variable" href="structcoap__resource__t.html#aea7b315210c6674d4079fa2e0e45ebec">flags</a> &amp;</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</span>    ~(<a class="code hl_define" href="resource_8h.html#a70fae1b37775ebbf9984d9873b15c781">COAP_RESOURCE_FLAGS_NOTIFY_CON</a>|<a class="code hl_define" href="resource_8h.html#a0e981058b430c857caaa44a6bd742cf3">COAP_RESOURCE_FLAGS_NOTIFY_NON</a>)) |</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno">  188</span>    (mode &amp; (<a class="code hl_define" href="resource_8h.html#a70fae1b37775ebbf9984d9873b15c781">COAP_RESOURCE_FLAGS_NOTIFY_CON</a>|<a class="code hl_define" href="resource_8h.html#a0e981058b430c857caaa44a6bd742cf3">COAP_RESOURCE_FLAGS_NOTIFY_NON</a>));</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno">  189</span>}</div>
</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno">  190</span> </div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno">  199</span><a class="code hl_define" href="libcoap_8h.html#a58b4446dccd0b8c21b3532ef6b77a57d">COAP_STATIC_INLINE</a> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00200" data-start="{" data-end="}">
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"><a class="line" href="resource_8h.html#a4341a249c1f00cf521bcd6432c7c7dc7">  200</a></span><a class="code hl_function" href="resource_8h.html#a4341a249c1f00cf521bcd6432c7c7dc7">coap_resource_set_userdata</a>(<a class="code hl_struct" href="structcoap__resource__t.html">coap_resource_t</a> *r, <span class="keywordtype">void</span> *data) {</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span>  r-&gt;<a class="code hl_variable" href="structcoap__resource__t.html#a30146d47704b351b623c29360b205319">user_data</a> = data;</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span>}</div>
</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span> </div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span><a class="code hl_define" href="libcoap_8h.html#a58b4446dccd0b8c21b3532ef6b77a57d">COAP_STATIC_INLINE</a> <span class="keywordtype">void</span> *</div>
<div class="foldopen" id="foldopen00213" data-start="{" data-end="}">
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"><a class="line" href="resource_8h.html#a243221fa3851a767e021574fbabc8758">  213</a></span><a class="code hl_function" href="resource_8h.html#a243221fa3851a767e021574fbabc8758">coap_resource_get_userdata</a>(<a class="code hl_struct" href="structcoap__resource__t.html">coap_resource_t</a> *r) {</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno">  214</span>  <span class="keywordflow">return</span> r-&gt;<a class="code hl_variable" href="structcoap__resource__t.html#a30146d47704b351b623c29360b205319">user_data</a>;</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno">  215</span>}</div>
</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno">  216</span> </div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span><span class="keywordtype">void</span> <a class="code hl_function" href="resource_8h.html#a9a5f0705912b0a35a3d5764e86b94004">coap_add_resource</a>(<a class="code hl_struct" href="structcoap__context__t.html">coap_context_t</a> *context, <a class="code hl_struct" href="structcoap__resource__t.html">coap_resource_t</a> *resource);</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span> </div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span><span class="keywordtype">int</span> <a class="code hl_function" href="resource_8h.html#ad3521b724ad4961e6bb11801fd82a3e3">coap_delete_resource</a>(<a class="code hl_struct" href="structcoap__context__t.html">coap_context_t</a> *context, <a class="code hl_struct" href="structcoap__resource__t.html">coap_resource_t</a> *resource);</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span> </div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno">  244</span><span class="keywordtype">void</span> <a class="code hl_function" href="resource_8h.html#a1fae3046ad94fce85a7ea23455328958">coap_delete_all_resources</a>(<a class="code hl_struct" href="structcoap__context__t.html">coap_context_t</a> *context);</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno">  245</span> </div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno">  276</span><a class="code hl_struct" href="structcoap__attr__t.html">coap_attr_t</a> *<a class="code hl_function" href="resource_8h.html#a1787fba8c0b0cb7823fb251177c84fcd">coap_add_attr</a>(<a class="code hl_struct" href="structcoap__resource__t.html">coap_resource_t</a> *resource,</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno">  277</span>                           <a class="code hl_struct" href="structcoap__str__const__t.html">coap_str_const_t</a> *name,</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno">  278</span>                           <a class="code hl_struct" href="structcoap__str__const__t.html">coap_str_const_t</a> *value,</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno">  279</span>                           <span class="keywordtype">int</span> flags);</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno">  280</span> </div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno">  290</span><a class="code hl_struct" href="structcoap__attr__t.html">coap_attr_t</a> *<a class="code hl_function" href="resource_8h.html#adda0a00000cfd2cd898f1d5d074c921f">coap_find_attr</a>(<a class="code hl_struct" href="structcoap__resource__t.html">coap_resource_t</a> *resource,</div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno">  291</span>                            <a class="code hl_struct" href="structcoap__str__const__t.html">coap_str_const_t</a> *name);</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno">  292</span> </div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno">  300</span><span class="keywordtype">void</span> <a class="code hl_function" href="resource_8h.html#a37883d9c8bafdd59fd1bd57dcb82e908">coap_delete_attr</a>(<a class="code hl_struct" href="structcoap__attr__t.html">coap_attr_t</a> *attr);</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno">  301</span> </div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"><a class="line" href="resource_8h.html#a91b02fe05f44f053f50c8d07b03f1f6e">  311</a></span><span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code hl_typedef" href="resource_8h.html#a91b02fe05f44f053f50c8d07b03f1f6e">coap_print_status_t</a>;</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno">  312</span> </div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"><a class="line" href="resource_8h.html#a22f2db8593afab3bb8c153e2346fdf75">  313</a></span><span class="preprocessor">#define COAP_PRINT_STATUS_MASK  0xF0000000u</span></div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"><a class="line" href="resource_8h.html#acf2fbde3cc54e108713886d6e23040f0">  314</a></span><span class="preprocessor">#define COAP_PRINT_OUTPUT_LENGTH(v) ((v) &amp; ~COAP_PRINT_STATUS_MASK)</span></div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"><a class="line" href="resource_8h.html#abba955fb8180d86085c2f0680626cfe8">  315</a></span><span class="preprocessor">#define COAP_PRINT_STATUS_ERROR 0x80000000u</span></div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"><a class="line" href="resource_8h.html#a457e1894c102b193d1d59de022035ac9">  316</a></span><span class="preprocessor">#define COAP_PRINT_STATUS_TRUNC 0x40000000u</span></div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno">  317</span> </div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno">  339</span><a class="code hl_typedef" href="resource_8h.html#a91b02fe05f44f053f50c8d07b03f1f6e">coap_print_status_t</a> <a class="code hl_function" href="resource_8h.html#a1ee72943df541ed5d4294c13e967ef09">coap_print_link</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structcoap__resource__t.html">coap_resource_t</a> *resource,</div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno">  340</span>                                    <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *buf,</div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno">  341</span>                                    <span class="keywordtype">size_t</span> *len,</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno">  342</span>                                    <span class="keywordtype">size_t</span> *offset);</div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno">  343</span> </div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno">  352</span><span class="keywordtype">void</span> <a class="code hl_function" href="resource_8h.html#af3e125d7975a649b6ac818c8bfb87baa">coap_register_handler</a>(<a class="code hl_struct" href="structcoap__resource__t.html">coap_resource_t</a> *resource,</div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno">  353</span>                           <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> method,</div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno">  354</span>                           <a class="code hl_typedef" href="resource_8h.html#a0e546da5428d06e7bd64308f3e0434af">coap_method_handler_t</a> handler);</div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno">  355</span> </div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno">  365</span><a class="code hl_struct" href="structcoap__resource__t.html">coap_resource_t</a> *<a class="code hl_function" href="resource_8h.html#a3247f7d06524ccbad44273ae9cdfecad">coap_get_resource_from_uri_path</a>(<a class="code hl_struct" href="structcoap__context__t.html">coap_context_t</a> *context,</div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno">  366</span>                                                <a class="code hl_struct" href="structcoap__str__const__t.html">coap_str_const_t</a> *uri_path);</div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno">  367</span> </div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno">  388</span><a class="code hl_struct" href="structcoap__subscription__t.html">coap_subscription_t</a> *<a class="code hl_function" href="resource_8h.html#aa04a51c7660283d48f60bf899fe5c45b">coap_add_observer</a>(<a class="code hl_struct" href="structcoap__resource__t.html">coap_resource_t</a> *resource,</div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno">  389</span>                                       <a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *session,</div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno">  390</span>                                       <span class="keyword">const</span> <a class="code hl_struct" href="structcoap__binary__t.html">coap_binary_t</a> *token,</div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno">  391</span>                                       <a class="code hl_struct" href="structcoap__string__t.html">coap_string_t</a> *query,</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno">  392</span>                                       <span class="keywordtype">int</span> has_block2,</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno">  393</span>                                       <a class="code hl_struct" href="structcoap__block__t.html">coap_block_t</a> block2);</div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno">  394</span> </div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno">  404</span><a class="code hl_struct" href="structcoap__subscription__t.html">coap_subscription_t</a> *<a class="code hl_function" href="resource_8h.html#ad6d585115f3bfa62c5e9d6129009c6c7">coap_find_observer</a>(<a class="code hl_struct" href="structcoap__resource__t.html">coap_resource_t</a> *resource,</div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno">  405</span>                                        <a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *session,</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno">  406</span>                                        <span class="keyword">const</span> <a class="code hl_struct" href="structcoap__binary__t.html">coap_binary_t</a> *token);</div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno">  407</span> </div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno">  416</span><span class="keywordtype">void</span> <a class="code hl_function" href="resource_8h.html#ad5bbd78aad763b34f4c0905fcd7b7454">coap_touch_observer</a>(<a class="code hl_struct" href="structcoap__context__t.html">coap_context_t</a> *context,</div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno">  417</span>                         <a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *session,</div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno">  418</span>                         <span class="keyword">const</span> <a class="code hl_struct" href="structcoap__binary__t.html">coap_binary_t</a> *token);</div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno">  419</span> </div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno">  431</span><span class="keywordtype">int</span> <a class="code hl_function" href="resource_8h.html#a0ea23a6e5f19c9081f282e0a7cc4452d">coap_delete_observer</a>(<a class="code hl_struct" href="structcoap__resource__t.html">coap_resource_t</a> *resource,</div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno">  432</span>                         <a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *session,</div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno">  433</span>                         <span class="keyword">const</span> <a class="code hl_struct" href="structcoap__binary__t.html">coap_binary_t</a> *token);</div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno">  434</span> </div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno">  441</span><span class="keywordtype">void</span> <a class="code hl_function" href="resource_8h.html#a5456a0b3cbb6c2191420632da0c54bbf">coap_delete_observers</a>(<a class="code hl_struct" href="structcoap__context__t.html">coap_context_t</a> *context, <a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *session);</div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno">  442</span> </div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno">  447</span><span class="keywordtype">void</span> <a class="code hl_function" href="resource_8h.html#a579bcb559463d3a872831c18d8d9a1c1">coap_check_notify</a>(<a class="code hl_struct" href="structcoap__context__t.html">coap_context_t</a> *context);</div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno">  448</span> </div>
<div class="foldopen" id="foldopen00449" data-start="" data-end="">
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"><a class="line" href="resource_8h.html#a15958c8e0206576186380e783bca59f3">  449</a></span><span class="preprocessor">#define RESOURCES_ADD(r, obj) \</span></div>
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno">  450</span><span class="preprocessor">  HASH_ADD(hh, (r), uri_path-&gt;s[0], (obj)-&gt;uri_path-&gt;length, (obj))</span></div>
</div>
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno">  451</span> </div>
<div class="foldopen" id="foldopen00452" data-start="" data-end="">
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"><a class="line" href="resource_8h.html#af3a9ffcab8f22609f9786d0b63098009">  452</a></span><span class="preprocessor">#define RESOURCES_DELETE(r, obj) \</span></div>
<div class="line"><a id="l00453" name="l00453"></a><span class="lineno">  453</span><span class="preprocessor">  HASH_DELETE(hh, (r), (obj))</span></div>
</div>
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno">  454</span> </div>
<div class="foldopen" id="foldopen00455" data-start="" data-end="">
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"><a class="line" href="resource_8h.html#afbf6d1376ab4eec0d503f47281877f4c">  455</a></span><span class="preprocessor">#define RESOURCES_ITER(r,tmp)  \</span></div>
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno">  456</span><span class="preprocessor">  coap_resource_t *tmp, *rtmp; \</span></div>
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno">  457</span><span class="preprocessor">  HASH_ITER(hh, (r), tmp, rtmp)</span></div>
</div>
<div class="line"><a id="l00458" name="l00458"></a><span class="lineno">  458</span> </div>
<div class="foldopen" id="foldopen00459" data-start="" data-end="">
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"><a class="line" href="resource_8h.html#a922414123af335d7015cc68ca1cfc765">  459</a></span><span class="preprocessor">#define RESOURCES_FIND(r, k, res) {                     \</span></div>
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno">  460</span><span class="preprocessor">    HASH_FIND(hh, (r), (k)-&gt;s, (k)-&gt;length, (res)); \</span></div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno">  461</span><span class="preprocessor">  }</span></div>
</div>
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno">  462</span> </div>
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno">  465</span><a class="code hl_typedef" href="resource_8h.html#a91b02fe05f44f053f50c8d07b03f1f6e">coap_print_status_t</a> <a class="code hl_function" href="resource_8h.html#a0b2cba9f6c0af2c91707072ffc3a2237">coap_print_wellknown</a>(<a class="code hl_struct" href="structcoap__context__t.html">coap_context_t</a> *,</div>
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno">  466</span>                                         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *,</div>
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno">  467</span>                                         <span class="keywordtype">size_t</span> *, <span class="keywordtype">size_t</span>,</div>
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno">  468</span>                                         <a class="code hl_typedef" href="option_8h.html#a963ad4994625360a5ac70d9df2ab5412">coap_opt_t</a> *);</div>
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno">  469</span> </div>
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno">  470</span><span class="keywordtype">void</span></div>
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno">  471</span><a class="code hl_function" href="resource_8h.html#a1c22a4e7f94f568370b38084ba64bc44">coap_handle_failed_notify</a>(<a class="code hl_struct" href="structcoap__context__t.html">coap_context_t</a> *,</div>
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno">  472</span>                          <a class="code hl_struct" href="structcoap__session__t.html">coap_session_t</a> *,</div>
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno">  473</span>                          <span class="keyword">const</span> <a class="code hl_struct" href="structcoap__binary__t.html">coap_binary_t</a> *);</div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno">  474</span> </div>
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno">  485</span><a class="code hl_define" href="libcoap_8h.html#a58b4446dccd0b8c21b3532ef6b77a57d">COAP_STATIC_INLINE</a> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00486" data-start="{" data-end="}">
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"><a class="line" href="resource_8h.html#a715acd300482ec8a3051639fd0413706">  486</a></span><a class="code hl_function" href="resource_8h.html#a715acd300482ec8a3051639fd0413706">coap_resource_set_get_observable</a>(<a class="code hl_struct" href="structcoap__resource__t.html">coap_resource_t</a> *resource, <span class="keywordtype">int</span> mode) {</div>
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno">  487</span>  resource-&gt;<a class="code hl_variable" href="structcoap__resource__t.html#ac398cbf0112b945e22176dbbf9790a87">observable</a> = mode ? 1 : 0;</div>
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno">  488</span>}</div>
</div>
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno">  489</span> </div>
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno">  499</span><span class="keywordtype">int</span></div>
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno">  500</span><a class="code hl_function" href="resource_8h.html#a0a053626d2f222a32cc96c4a3dd9902f">coap_resource_notify_observers</a>(<a class="code hl_struct" href="structcoap__resource__t.html">coap_resource_t</a> *resource,</div>
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno">  501</span>                               <span class="keyword">const</span> <a class="code hl_struct" href="structcoap__string__t.html">coap_string_t</a> *query);</div>
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno">  502</span> </div>
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno">  510</span><a class="code hl_define" href="libcoap_8h.html#a58b4446dccd0b8c21b3532ef6b77a57d">COAP_STATIC_INLINE</a> <a class="code hl_struct" href="structcoap__str__const__t.html">coap_str_const_t</a>*</div>
<div class="foldopen" id="foldopen00511" data-start="{" data-end="}">
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"><a class="line" href="resource_8h.html#a96308292262c4f7e420f31fff40ad4b5">  511</a></span><a class="code hl_function" href="resource_8h.html#a96308292262c4f7e420f31fff40ad4b5">coap_resource_get_uri_path</a>(<a class="code hl_struct" href="structcoap__resource__t.html">coap_resource_t</a> *resource) {</div>
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno">  512</span>  <span class="keywordflow">if</span> (resource)</div>
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno">  513</span>    <span class="keywordflow">return</span> resource-&gt;<a class="code hl_variable" href="structcoap__resource__t.html#a38e9f66631ebf849e1742867273e8b1a">uri_path</a>;</div>
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno">  514</span>  <span class="keywordflow">return</span> NULL;</div>
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno">  515</span>}</div>
</div>
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno">  516</span> </div>
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno">  520</span><a class="code hl_define" href="libcoap_8h.html#a0ac5555e3d6ef821c228a03d10b334e3">COAP_DEPRECATED</a> <span class="keywordtype">int</span></div>
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno">  521</span><a class="code hl_function" href="resource_8h.html#a0098ca940dd37e7d7425b929d194ca46">coap_resource_set_dirty</a>(<a class="code hl_struct" href="structcoap__resource__t.html">coap_resource_t</a> *r,</div>
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno">  522</span>                        <span class="keyword">const</span> <a class="code hl_struct" href="structcoap__string__t.html">coap_string_t</a> *query);</div>
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno">  523</span> </div>
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno">  524</span><span class="preprocessor">#endif </span><span class="comment">/* COAP_RESOURCE_H_ */</span><span class="preprocessor"></span></div>
<div class="ttc" id="aasync_8h_html"><div class="ttname"><a href="async_8h.html">async.h</a></div><div class="ttdoc">State management for asynchronous messages.</div></div>
<div class="ttc" id="alibcoap_8h_html_a0ac5555e3d6ef821c228a03d10b334e3"><div class="ttname"><a href="libcoap_8h.html#a0ac5555e3d6ef821c228a03d10b334e3">COAP_DEPRECATED</a></div><div class="ttdeci">#define COAP_DEPRECATED</div><div class="ttdef"><b>Definition</b> <a href="libcoap_8h_source.html#l00049">libcoap.h:49</a></div></div>
<div class="ttc" id="alibcoap_8h_html_a58b4446dccd0b8c21b3532ef6b77a57d"><div class="ttname"><a href="libcoap_8h.html#a58b4446dccd0b8c21b3532ef6b77a57d">COAP_STATIC_INLINE</a></div><div class="ttdeci">#define COAP_STATIC_INLINE</div><div class="ttdef"><b>Definition</b> <a href="libcoap_8h_source.html#l00038">libcoap.h:38</a></div></div>
<div class="ttc" id="anet_8h_html"><div class="ttname"><a href="net_8h.html">net.h</a></div></div>
<div class="ttc" id="aoption_8h_html_a963ad4994625360a5ac70d9df2ab5412"><div class="ttname"><a href="option_8h.html#a963ad4994625360a5ac70d9df2ab5412">coap_opt_t</a></div><div class="ttdeci">uint8_t coap_opt_t</div><div class="ttdoc">Use byte-oriented access methods here because sliding a complex struct coap_opt_t over the data buffe...</div><div class="ttdef"><b>Definition</b> <a href="option_8h_source.html#l00025">option.h:25</a></div></div>
<div class="ttc" id="apdu_8h_html"><div class="ttname"><a href="pdu_8h.html">pdu.h</a></div><div class="ttdoc">Pre-defined constants that reflect defaults for CoAP.</div></div>
<div class="ttc" id="aresource_8h_html_a0098ca940dd37e7d7425b929d194ca46"><div class="ttname"><a href="resource_8h.html#a0098ca940dd37e7d7425b929d194ca46">coap_resource_set_dirty</a></div><div class="ttdeci">COAP_DEPRECATED int coap_resource_set_dirty(coap_resource_t *r, const coap_string_t *query)</div><div class="ttdef"><b>Definition</b> <a href="resource_8c_source.html#l00832">resource.c:832</a></div></div>
<div class="ttc" id="aresource_8h_html_a0a053626d2f222a32cc96c4a3dd9902f"><div class="ttname"><a href="resource_8h.html#a0a053626d2f222a32cc96c4a3dd9902f">coap_resource_notify_observers</a></div><div class="ttdeci">int coap_resource_notify_observers(coap_resource_t *resource, const coap_string_t *query)</div><div class="ttdoc">Initiate the sending of an Observe packet for all observers of resource, optionally matching query if...</div><div class="ttdef"><b>Definition</b> <a href="resource_8c_source.html#l00837">resource.c:837</a></div></div>
<div class="ttc" id="aresource_8h_html_a0b2cba9f6c0af2c91707072ffc3a2237"><div class="ttname"><a href="resource_8h.html#a0b2cba9f6c0af2c91707072ffc3a2237">coap_print_wellknown</a></div><div class="ttdeci">coap_print_status_t coap_print_wellknown(coap_context_t *, unsigned char *, size_t *, size_t, coap_opt_t *)</div><div class="ttdoc">Prints the names of all known resources to buf.</div><div class="ttdef"><b>Definition</b> <a href="resource_8c_source.html#l00169">resource.c:169</a></div></div>
<div class="ttc" id="aresource_8h_html_a0e546da5428d06e7bd64308f3e0434af"><div class="ttname"><a href="resource_8h.html#a0e546da5428d06e7bd64308f3e0434af">coap_method_handler_t</a></div><div class="ttdeci">void(* coap_method_handler_t)(coap_context_t *, struct coap_resource_t *, coap_session_t *, coap_pdu_t *, coap_binary_t *, coap_string_t *, coap_pdu_t *)</div><div class="ttdoc">Definition of message handler function (.</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00035">resource.h:36</a></div></div>
<div class="ttc" id="aresource_8h_html_a0e981058b430c857caaa44a6bd742cf3"><div class="ttname"><a href="resource_8h.html#a0e981058b430c857caaa44a6bd742cf3">COAP_RESOURCE_FLAGS_NOTIFY_NON</a></div><div class="ttdeci">#define COAP_RESOURCE_FLAGS_NOTIFY_NON</div><div class="ttdoc">Notifications will be sent non-confirmable by default.</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00061">resource.h:61</a></div></div>
<div class="ttc" id="aresource_8h_html_a0ea23a6e5f19c9081f282e0a7cc4452d"><div class="ttname"><a href="resource_8h.html#a0ea23a6e5f19c9081f282e0a7cc4452d">coap_delete_observer</a></div><div class="ttdeci">int coap_delete_observer(coap_resource_t *resource, coap_session_t *session, const coap_binary_t *token)</div><div class="ttdoc">Removes any subscription for observer from resource and releases the allocated storage.</div><div class="ttdef"><b>Definition</b> <a href="resource_8c_source.html#l00703">resource.c:703</a></div></div>
<div class="ttc" id="aresource_8h_html_a1787fba8c0b0cb7823fb251177c84fcd"><div class="ttname"><a href="resource_8h.html#a1787fba8c0b0cb7823fb251177c84fcd">coap_add_attr</a></div><div class="ttdeci">coap_attr_t * coap_add_attr(coap_resource_t *resource, coap_str_const_t *name, coap_str_const_t *value, int flags)</div><div class="ttdoc">Registers a new attribute with the given resource.</div><div class="ttdef"><b>Definition</b> <a href="resource_8c_source.html#l00352">resource.c:352</a></div></div>
<div class="ttc" id="aresource_8h_html_a1c22a4e7f94f568370b38084ba64bc44"><div class="ttname"><a href="resource_8h.html#a1c22a4e7f94f568370b38084ba64bc44">coap_handle_failed_notify</a></div><div class="ttdeci">void coap_handle_failed_notify(coap_context_t *, coap_session_t *, const coap_binary_t *)</div><div class="ttdef"><b>Definition</b> <a href="resource_8c_source.html#l00930">resource.c:930</a></div></div>
<div class="ttc" id="aresource_8h_html_a1ee72943df541ed5d4294c13e967ef09"><div class="ttname"><a href="resource_8h.html#a1ee72943df541ed5d4294c13e967ef09">coap_print_link</a></div><div class="ttdeci">coap_print_status_t coap_print_link(const coap_resource_t *resource, unsigned char *buf, size_t *len, size_t *offset)</div><div class="ttdoc">Writes a description of this resource in link-format to given text buffer.</div><div class="ttdef"><b>Definition</b> <a href="resource_8c_source.html#l00524">resource.c:524</a></div></div>
<div class="ttc" id="aresource_8h_html_a1fae3046ad94fce85a7ea23455328958"><div class="ttname"><a href="resource_8h.html#a1fae3046ad94fce85a7ea23455328958">coap_delete_all_resources</a></div><div class="ttdeci">void coap_delete_all_resources(coap_context_t *context)</div><div class="ttdoc">Deletes all resources from given context and frees their storage.</div><div class="ttdef"><b>Definition</b> <a href="resource_8c_source.html#l00494">resource.c:494</a></div></div>
<div class="ttc" id="aresource_8h_html_a243221fa3851a767e021574fbabc8758"><div class="ttname"><a href="resource_8h.html#a243221fa3851a767e021574fbabc8758">coap_resource_get_userdata</a></div><div class="ttdeci">COAP_STATIC_INLINE void * coap_resource_get_userdata(coap_resource_t *r)</div><div class="ttdoc">Gets the user_data.</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00213">resource.h:213</a></div></div>
<div class="ttc" id="aresource_8h_html_a2a73353dbd2bea291376334f3be3391e"><div class="ttname"><a href="resource_8h.html#a2a73353dbd2bea291376334f3be3391e">coap_resource_set_mode</a></div><div class="ttdeci">COAP_STATIC_INLINE void coap_resource_set_mode(coap_resource_t *resource, int mode)</div><div class="ttdoc">Sets the notification message type of resource resource to given mode.</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00185">resource.h:185</a></div></div>
<div class="ttc" id="aresource_8h_html_a3247f7d06524ccbad44273ae9cdfecad"><div class="ttname"><a href="resource_8h.html#a3247f7d06524ccbad44273ae9cdfecad">coap_get_resource_from_uri_path</a></div><div class="ttdeci">coap_resource_t * coap_get_resource_from_uri_path(coap_context_t *context, coap_str_const_t *uri_path)</div><div class="ttdoc">Returns the resource identified by the unique string uri_path.</div><div class="ttdef"><b>Definition</b> <a href="resource_8c_source.html#l00515">resource.c:515</a></div></div>
<div class="ttc" id="aresource_8h_html_a37883d9c8bafdd59fd1bd57dcb82e908"><div class="ttname"><a href="resource_8h.html#a37883d9c8bafdd59fd1bd57dcb82e908">coap_delete_attr</a></div><div class="ttdeci">void coap_delete_attr(coap_attr_t *attr)</div><div class="ttdoc">Deletes an attribute.</div><div class="ttdef"><b>Definition</b> <a href="resource_8c_source.html#l00406">resource.c:406</a></div></div>
<div class="ttc" id="aresource_8h_html_a4341a249c1f00cf521bcd6432c7c7dc7"><div class="ttname"><a href="resource_8h.html#a4341a249c1f00cf521bcd6432c7c7dc7">coap_resource_set_userdata</a></div><div class="ttdeci">COAP_STATIC_INLINE void coap_resource_set_userdata(coap_resource_t *r, void *data)</div><div class="ttdoc">Sets the user_data.</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00200">resource.h:200</a></div></div>
<div class="ttc" id="aresource_8h_html_a5456a0b3cbb6c2191420632da0c54bbf"><div class="ttname"><a href="resource_8h.html#a5456a0b3cbb6c2191420632da0c54bbf">coap_delete_observers</a></div><div class="ttdeci">void coap_delete_observers(coap_context_t *context, coap_session_t *session)</div><div class="ttdoc">Removes any subscription for session and releases the allocated storage.</div><div class="ttdef"><b>Definition</b> <a href="resource_8c_source.html#l00729">resource.c:729</a></div></div>
<div class="ttc" id="aresource_8h_html_a579bcb559463d3a872831c18d8d9a1c1"><div class="ttname"><a href="resource_8h.html#a579bcb559463d3a872831c18d8d9a1c1">coap_check_notify</a></div><div class="ttdeci">void coap_check_notify(coap_context_t *context)</div><div class="ttdoc">Checks for all known resources, if they are dirty and notifies subscribed observers.</div><div class="ttdef"><b>Definition</b> <a href="resource_8c_source.html#l00869">resource.c:869</a></div></div>
<div class="ttc" id="aresource_8h_html_a70fae1b37775ebbf9984d9873b15c781"><div class="ttname"><a href="resource_8h.html#a70fae1b37775ebbf9984d9873b15c781">COAP_RESOURCE_FLAGS_NOTIFY_CON</a></div><div class="ttdeci">#define COAP_RESOURCE_FLAGS_NOTIFY_CON</div><div class="ttdoc">Notifications will be sent confirmable by default.</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00067">resource.h:67</a></div></div>
<div class="ttc" id="aresource_8h_html_a715acd300482ec8a3051639fd0413706"><div class="ttname"><a href="resource_8h.html#a715acd300482ec8a3051639fd0413706">coap_resource_set_get_observable</a></div><div class="ttdeci">COAP_STATIC_INLINE void coap_resource_set_get_observable(coap_resource_t *resource, int mode)</div><div class="ttdoc">Set whether a resource is observable.</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00486">resource.h:486</a></div></div>
<div class="ttc" id="aresource_8h_html_a91b02fe05f44f053f50c8d07b03f1f6e"><div class="ttname"><a href="resource_8h.html#a91b02fe05f44f053f50c8d07b03f1f6e">coap_print_status_t</a></div><div class="ttdeci">unsigned int coap_print_status_t</div><div class="ttdoc">Status word to encode the result of conditional print or copy operations such as coap_print_link().</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00311">resource.h:311</a></div></div>
<div class="ttc" id="aresource_8h_html_a96308292262c4f7e420f31fff40ad4b5"><div class="ttname"><a href="resource_8h.html#a96308292262c4f7e420f31fff40ad4b5">coap_resource_get_uri_path</a></div><div class="ttdeci">COAP_STATIC_INLINE coap_str_const_t * coap_resource_get_uri_path(coap_resource_t *resource)</div><div class="ttdoc">Get the UriPath from a resource.</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00511">resource.h:511</a></div></div>
<div class="ttc" id="aresource_8h_html_a9a5f0705912b0a35a3d5764e86b94004"><div class="ttname"><a href="resource_8h.html#a9a5f0705912b0a35a3d5764e86b94004">coap_add_resource</a></div><div class="ttdeci">void coap_add_resource(coap_context_t *context, coap_resource_t *resource)</div><div class="ttdoc">Registers the given resource for context.</div><div class="ttdef"><b>Definition</b> <a href="resource_8c_source.html#l00452">resource.c:452</a></div></div>
<div class="ttc" id="aresource_8h_html_a9edd43fc111e854367ef646a21bd93b1"><div class="ttname"><a href="resource_8h.html#a9edd43fc111e854367ef646a21bd93b1">coap_resource_init</a></div><div class="ttdeci">coap_resource_t * coap_resource_init(coap_str_const_t *uri_path, int flags)</div><div class="ttdoc">Creates a new resource object and initializes the link field to the string uri_path.</div><div class="ttdef"><b>Definition</b> <a href="resource_8c_source.html#l00300">resource.c:300</a></div></div>
<div class="ttc" id="aresource_8h_html_aa04a51c7660283d48f60bf899fe5c45b"><div class="ttname"><a href="resource_8h.html#aa04a51c7660283d48f60bf899fe5c45b">coap_add_observer</a></div><div class="ttdeci">coap_subscription_t * coap_add_observer(coap_resource_t *resource, coap_session_t *session, const coap_binary_t *token, coap_string_t *query, int has_block2, coap_block_t block2)</div><div class="ttdoc">Adds the specified peer as observer for resource.</div><div class="ttdef"><b>Definition</b> <a href="resource_8c_source.html#l00623">resource.c:623</a></div></div>
<div class="ttc" id="aresource_8h_html_ad3521b724ad4961e6bb11801fd82a3e3"><div class="ttname"><a href="resource_8h.html#ad3521b724ad4961e6bb11801fd82a3e3">coap_delete_resource</a></div><div class="ttdeci">int coap_delete_resource(coap_context_t *context, coap_resource_t *resource)</div><div class="ttdoc">Deletes a resource identified by resource.</div><div class="ttdef"><b>Definition</b> <a href="resource_8c_source.html#l00474">resource.c:474</a></div></div>
<div class="ttc" id="aresource_8h_html_ad5bbd78aad763b34f4c0905fcd7b7454"><div class="ttname"><a href="resource_8h.html#ad5bbd78aad763b34f4c0905fcd7b7454">coap_touch_observer</a></div><div class="ttdeci">void coap_touch_observer(coap_context_t *context, coap_session_t *session, const coap_binary_t *token)</div><div class="ttdoc">Marks an observer as alive.</div><div class="ttdef"><b>Definition</b> <a href="resource_8c_source.html#l00690">resource.c:690</a></div></div>
<div class="ttc" id="aresource_8h_html_ad6d585115f3bfa62c5e9d6129009c6c7"><div class="ttname"><a href="resource_8h.html#ad6d585115f3bfa62c5e9d6129009c6c7">coap_find_observer</a></div><div class="ttdeci">coap_subscription_t * coap_find_observer(coap_resource_t *resource, coap_session_t *session, const coap_binary_t *token)</div><div class="ttdoc">Returns a subscription object for given peer.</div><div class="ttdef"><b>Definition</b> <a href="resource_8c_source.html#l00587">resource.c:587</a></div></div>
<div class="ttc" id="aresource_8h_html_adda0a00000cfd2cd898f1d5d074c921f"><div class="ttname"><a href="resource_8h.html#adda0a00000cfd2cd898f1d5d074c921f">coap_find_attr</a></div><div class="ttdeci">coap_attr_t * coap_find_attr(coap_resource_t *resource, coap_str_const_t *name)</div><div class="ttdoc">Returns resource's coap_attr_t object with given name if found, NULL otherwise.</div><div class="ttdef"><b>Definition</b> <a href="resource_8c_source.html#l00389">resource.c:389</a></div></div>
<div class="ttc" id="aresource_8h_html_af3e125d7975a649b6ac818c8bfb87baa"><div class="ttname"><a href="resource_8h.html#af3e125d7975a649b6ac818c8bfb87baa">coap_register_handler</a></div><div class="ttdeci">void coap_register_handler(coap_resource_t *resource, unsigned char method, coap_method_handler_t handler)</div><div class="ttdoc">Registers the specified handler as message handler for the request type method.</div><div class="ttdef"><b>Definition</b> <a href="resource_8c_source.html#l00577">resource.c:577</a></div></div>
<div class="ttc" id="aresource_8h_html_af892e2c08f144561327b11b65396d5cc"><div class="ttname"><a href="resource_8h.html#af892e2c08f144561327b11b65396d5cc">coap_resource_unknown_init</a></div><div class="ttdeci">coap_resource_t * coap_resource_unknown_init(coap_method_handler_t put_handler)</div><div class="ttdoc">Creates a new resource object for the unknown resource handler with support for PUT.</div><div class="ttdef"><b>Definition</b> <a href="resource_8c_source.html#l00334">resource.c:334</a></div></div>
<div class="ttc" id="astr_8h_html"><div class="ttname"><a href="str_8h.html">str.h</a></div></div>
<div class="ttc" id="astructUT__hash__handle_html"><div class="ttname"><a href="structUT__hash__handle.html">UT_hash_handle</a></div><div class="ttdef"><b>Definition</b> <a href="uthash_8h_source.html#l01097">uthash.h:1097</a></div></div>
<div class="ttc" id="astructcoap__attr__t_html"><div class="ttname"><a href="structcoap__attr__t.html">coap_attr_t</a></div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00047">resource.h:47</a></div></div>
<div class="ttc" id="astructcoap__attr__t_html_a0b0e7059fe12ccaa3b338862c6ae7b08"><div class="ttname"><a href="structcoap__attr__t.html#a0b0e7059fe12ccaa3b338862c6ae7b08">coap_attr_t::value</a></div><div class="ttdeci">coap_str_const_t * value</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00050">resource.h:50</a></div></div>
<div class="ttc" id="astructcoap__attr__t_html_a3fc77f201bd40341e3b9a9b66917ee9f"><div class="ttname"><a href="structcoap__attr__t.html#a3fc77f201bd40341e3b9a9b66917ee9f">coap_attr_t::next</a></div><div class="ttdeci">struct coap_attr_t * next</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00048">resource.h:48</a></div></div>
<div class="ttc" id="astructcoap__attr__t_html_a4a54128b31912aeb6643d775f2e64a93"><div class="ttname"><a href="structcoap__attr__t.html#a4a54128b31912aeb6643d775f2e64a93">coap_attr_t::name</a></div><div class="ttdeci">coap_str_const_t * name</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00049">resource.h:49</a></div></div>
<div class="ttc" id="astructcoap__attr__t_html_ae169f2ea32a124079529bfe934d7e0ec"><div class="ttname"><a href="structcoap__attr__t.html#ae169f2ea32a124079529bfe934d7e0ec">coap_attr_t::flags</a></div><div class="ttdeci">int flags</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00051">resource.h:51</a></div></div>
<div class="ttc" id="astructcoap__binary__t_html"><div class="ttname"><a href="structcoap__binary__t.html">coap_binary_t</a></div><div class="ttdoc">Coap binary data definition.</div><div class="ttdef"><b>Definition</b> <a href="str_8h_source.html#l00043">str.h:43</a></div></div>
<div class="ttc" id="astructcoap__block__t_html"><div class="ttname"><a href="structcoap__block__t.html">coap_block_t</a></div><div class="ttdoc">Structure of Block options.</div><div class="ttdef"><b>Definition</b> <a href="block_8h_source.html#l00036">block.h:36</a></div></div>
<div class="ttc" id="astructcoap__context__t_html"><div class="ttname"><a href="structcoap__context__t.html">coap_context_t</a></div><div class="ttdoc">The CoAP stack's global state is stored in a coap_context_t object.</div><div class="ttdef"><b>Definition</b> <a href="net_8h_source.html#l00148">net.h:148</a></div></div>
<div class="ttc" id="astructcoap__pdu__t_html"><div class="ttname"><a href="structcoap__pdu__t.html">coap_pdu_t</a></div><div class="ttdoc">structure for CoAP PDUs token, if any, follows the fixed size header, then options until payload mark...</div><div class="ttdef"><b>Definition</b> <a href="pdu_8h_source.html#l00285">pdu.h:285</a></div></div>
<div class="ttc" id="astructcoap__resource__t_html"><div class="ttname"><a href="structcoap__resource__t.html">coap_resource_t</a></div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00069">resource.h:69</a></div></div>
<div class="ttc" id="astructcoap__resource__t_html_a09b8f3b601ad2e2e48f8ebb47a2f3bef"><div class="ttname"><a href="structcoap__resource__t.html#a09b8f3b601ad2e2e48f8ebb47a2f3bef">coap_resource_t::dirty</a></div><div class="ttdeci">unsigned int dirty</div><div class="ttdoc">set to 1 if resource has changed</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00070">resource.h:70</a></div></div>
<div class="ttc" id="astructcoap__resource__t_html_a1574825943641eaf8fd4229bcbb818c8"><div class="ttname"><a href="structcoap__resource__t.html#a1574825943641eaf8fd4229bcbb818c8">coap_resource_t::partiallydirty</a></div><div class="ttdeci">unsigned int partiallydirty</div><div class="ttdoc">set to 1 if some subscribers have not yet been notified of the last change</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00071">resource.h:71</a></div></div>
<div class="ttc" id="astructcoap__resource__t_html_a27b7326f8557329979a15efc994afc6c"><div class="ttname"><a href="structcoap__resource__t.html#a27b7326f8557329979a15efc994afc6c">coap_resource_t::subscribers</a></div><div class="ttdeci">coap_subscription_t * subscribers</div><div class="ttdoc">list of observers for this resource</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00089">resource.h:89</a></div></div>
<div class="ttc" id="astructcoap__resource__t_html_a30146d47704b351b623c29360b205319"><div class="ttname"><a href="structcoap__resource__t.html#a30146d47704b351b623c29360b205319">coap_resource_t::user_data</a></div><div class="ttdeci">void * user_data</div><div class="ttdoc">This pointer is under user control.</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00109">resource.h:109</a></div></div>
<div class="ttc" id="astructcoap__resource__t_html_a38e9f66631ebf849e1742867273e8b1a"><div class="ttname"><a href="structcoap__resource__t.html#a38e9f66631ebf849e1742867273e8b1a">coap_resource_t::uri_path</a></div><div class="ttdeci">coap_str_const_t * uri_path</div><div class="ttdoc">Request URI Path for this resource.</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00096">resource.h:96</a></div></div>
<div class="ttc" id="astructcoap__resource__t_html_a427dd41384d9f8560dce69b220a8fecc"><div class="ttname"><a href="structcoap__resource__t.html#a427dd41384d9f8560dce69b220a8fecc">coap_resource_t::observe</a></div><div class="ttdeci">unsigned int observe</div><div class="ttdoc">The next value for the Observe option.</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00103">resource.h:103</a></div></div>
<div class="ttc" id="astructcoap__resource__t_html_a608274b876671be27e2bd099fa112f75"><div class="ttname"><a href="structcoap__resource__t.html#a608274b876671be27e2bd099fa112f75">coap_resource_t::cacheable</a></div><div class="ttdeci">unsigned int cacheable</div><div class="ttdoc">can be cached</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00074">resource.h:74</a></div></div>
<div class="ttc" id="astructcoap__resource__t_html_a64e782257dd1931d6082bff001ecf9c9"><div class="ttname"><a href="structcoap__resource__t.html#a64e782257dd1931d6082bff001ecf9c9">coap_resource_t::handler</a></div><div class="ttdeci">coap_method_handler_t handler[7]</div><div class="ttdoc">Used to store handlers for the seven coap methods GET, POST, PUT, DELETE, FETCH, PATCH and IPATCH.</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00084">resource.h:84</a></div></div>
<div class="ttc" id="astructcoap__resource__t_html_a7b659252268ebdab8636e98fd5951f01"><div class="ttname"><a href="structcoap__resource__t.html#a7b659252268ebdab8636e98fd5951f01">coap_resource_t::is_unknown</a></div><div class="ttdeci">unsigned int is_unknown</div><div class="ttdoc">resource created for unknown handler</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00075">resource.h:75</a></div></div>
<div class="ttc" id="astructcoap__resource__t_html_a9359a93af7804828408cd7638bb2325a"><div class="ttname"><a href="structcoap__resource__t.html#a9359a93af7804828408cd7638bb2325a">coap_resource_t::link_attr</a></div><div class="ttdeci">coap_attr_t * link_attr</div><div class="ttdoc">attributes to be included with the link format</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00088">resource.h:88</a></div></div>
<div class="ttc" id="astructcoap__resource__t_html_ac398cbf0112b945e22176dbbf9790a87"><div class="ttname"><a href="structcoap__resource__t.html#ac398cbf0112b945e22176dbbf9790a87">coap_resource_t::observable</a></div><div class="ttdeci">unsigned int observable</div><div class="ttdoc">can be observed</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00073">resource.h:73</a></div></div>
<div class="ttc" id="astructcoap__resource__t_html_aea7b315210c6674d4079fa2e0e45ebec"><div class="ttname"><a href="structcoap__resource__t.html#aea7b315210c6674d4079fa2e0e45ebec">coap_resource_t::flags</a></div><div class="ttdeci">int flags</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00097">resource.h:97</a></div></div>
<div class="ttc" id="astructcoap__resource__t_html_af63bf8fad6bf44a77599a57456bd919c"><div class="ttname"><a href="structcoap__resource__t.html#af63bf8fad6bf44a77599a57456bd919c">coap_resource_t::hh</a></div><div class="ttdeci">UT_hash_handle hh</div><div class="ttdef"><b>Definition</b> <a href="resource_8h_source.html#l00086">resource.h:86</a></div></div>
<div class="ttc" id="astructcoap__session__t_html"><div class="ttname"><a href="structcoap__session__t.html">coap_session_t</a></div><div class="ttdef"><b>Definition</b> <a href="coap__session_8h_source.html#l00056">coap_session.h:56</a></div></div>
<div class="ttc" id="astructcoap__str__const__t_html"><div class="ttname"><a href="structcoap__str__const__t.html">coap_str_const_t</a></div><div class="ttdoc">Coap string data definition with const data.</div><div class="ttdef"><b>Definition</b> <a href="str_8h_source.html#l00033">str.h:33</a></div></div>
<div class="ttc" id="astructcoap__string__t_html"><div class="ttname"><a href="structcoap__string__t.html">coap_string_t</a></div><div class="ttdoc">Coap string data definition.</div><div class="ttdef"><b>Definition</b> <a href="str_8h_source.html#l00025">str.h:25</a></div></div>
<div class="ttc" id="astructcoap__subscription__t_html"><div class="ttname"><a href="structcoap__subscription__t.html">coap_subscription_t</a></div><div class="ttdoc">Subscriber information.</div><div class="ttdef"><b>Definition</b> <a href="subscribe_8h_source.html#l00056">subscribe.h:56</a></div></div>
<div class="ttc" id="asubscribe_8h_html"><div class="ttname"><a href="subscribe_8h.html">subscribe.h</a></div></div>
<div class="ttc" id="authash_8h_html"><div class="ttname"><a href="uthash_8h.html">uthash.h</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_a14d23a24002734ac2a3b997119f008e.html">coap2</a></li><li class="navelem"><a class="el" href="resource_8h.html">resource.h</a></li>
    <li class="footer">Generated on Fri Dec 27 2024 09:57:44 for libcoap by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
  </ul>
</div>
</body>
</html>
